package fsmsim.graphicUI;

import fsmsim.buffer.Buffer;
import fsmsim.dataStructure.Container;
import fsmsim.dataStructure.FSM;
import java.awt.event.ActionListener;
import java.util.Vector;

/**
 * <p>Title: FSMSim</p>
 *
 * <p>Description: Simulatore di macchine a stati finiti.</p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: Bollati, Donati, Gabrielli, Peli</p>
 *
 * @author Bollati, Donati, Gabrielli, Peli
 * @version 3.0
 */

public interface FSMSimInterface {
    
    
    public void displayOutputEventList(Container listaEventiEsterni);
    
    
    public void displayBuffer(Buffer buffer);
    
    
    public void closeChoices();
    
    
    public String getFileUrl();
    
    
    public void setModality();
    
    
    public void setReinit(boolean status);
    
    
    public void cleanOutput();
    
    
    public void messageBox(String title, String message);
    
    
    public void statusBarMessage(String message);
    
    
    public void update(Container listaEventiEsterni,Vector<FSM> fsms,Buffer buffer);
    
    
    public void closeDlgNuova();
    
    
    public void setStep2StepSimulation();
    
    
    public void setRapidSimulation();
    
    
    public void setTextAbout(String title, String authors, String version);
    
    
    public int select(String[] options);
    
    
    public int getChoices();
    
    
    public void consoleOut(String text);
    
    
    public void displaySystemState(Vector<FSM> fsms, String buffer, String eventiEsterni);
    
    
    public int getDelay();
    
    
    public void addNonDeterminismListenerButton(ActionListener mal);  
    
    public void addNewChooserFileListenerButton(ActionListener mal);
    
    public void addSimulationListenerButton(ActionListener mal);
    
    public void addLoadSimulationButton(ActionListener mal);
    
    public void addStepToStepButton(ActionListener mal);
    
    public void addRapidButton(ActionListener mal);
    
    public void addStepToStepComboBox(ActionListener mal);
    
    public void addRapidComboBox(ActionListener mal);
    
    public void addStepToStepMenuItem(ActionListener mal);
    
    public void addRapidMenuItem(ActionListener mal);
    
    public void addAbout(ActionListener mal);

}
